#ifndef ACTION_COMMON_HH_
# define ACTION_COMMON_HH_

# include "action.hh"
# include <string>

class ActionSendText : public Action
{
public:
  ActionSendText (const std::string& string) { text_ = string; }
  const std::string& text_get () { return text_; }

  void operator() (Main* m);
protected:
  std::string text_;
};

class ActionNewMessage : public Action
{
public:
  ActionNewMessage (const std::string& string) { text_ = string; }
  const std::string& text_get () { return text_; }

  void operator() (Main* m);
protected:
  std::string text_;
};

class ActionChat : public Action
{
public:
  void operator() (Main* m);
};

class ActionChatES : public Action
{
public:
  void operator() (Main* m);
};

class ActionChatDel : public Action
{
public:
  void operator() (Main* m);
};

class ActionChatAdd : public Action
{
public:
  ActionChatAdd (char key) { key_ = key; }
  char key_get () { return key_; }

  void operator() (Main* m);
protected:
  char key_;
};

class ActionChatCurMove : public Action
{
public:
  ActionChatCurMove (int move) { move_ = move; }
  int move_get () { return move_; }

  void operator() (Main* m);
protected:
  int move_;
};


class ActionResetSelection : public Action
{
public:
  ActionResetSelection () {}

  void operator() (Main* m);
};

#endif /// !ACTION_COMMON_HH_
